Aufgabensatz 4: REST-Kommunikation, Requests und Fehlerdiagnose

Kompakter Vertiefungssatz mit direkten Bearbeitungsfeldern. Richtzeit: ca. 70–75 Minuten.

Bearbeitung: Antworten direkt in die Felder eintragen. Die Eingaben werden lokal im Browser gespeichert und können über Als PDF drucken als Lösung abgegeben werden.

1. Request-Bestandteile erkennen

Richtzeit: 12–15 Minuten

Analysiere folgende Anfrage:

GET /produkte?category=hardware&active=true&limit=10 HTTP/1.1
Host: api.beispielshop.local
Accept: application/json
  1. Markiere HTTP-Methode, Pfad, Query-Parameter, Host und gewünschten Antworttyp.
  2. Erkläre, was die Query-Parameter vermutlich bewirken.
  3. Formuliere eine ähnliche Anfrage, die nur aktive Zubehör-Produkte abruft.
Hinweis: Query-Parameter filtern oder steuern eine Sammlung. Eine einzelne Ressource wird meist über die ID im Pfad angesprochen.

2. API-Antwort interpretieren

Richtzeit: 12–15 Minuten

Ein Client erhält folgende Antwort:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "items": [
    { "id": 7, "name": "Webcam HD", "price": 49.9, "active": true },
    { "id": 9, "name": "Monitorarm", "price": 39.99, "active": true }
  ],
  "count": 2,
  "limit": 10
}
  1. Beschreibe, ob die Anfrage erfolgreich war und woran du das erkennst.
  2. Erkläre die Bedeutung von items, count und limit.
  3. Begründe, warum Metadaten wie count für Clients hilfreich sind.

3. Fehlerfälle unterscheiden

Richtzeit: 18–20 Minuten

Ordne die folgenden Situationen passenden Statuscodes zu und begründe kurz. Nutze bei Bedarf: 200, 201, 204, 400, 404.

SituationStatuscodeBegründung
/produkte/999 existiert nicht.
Beim Anlegen fehlt name.
Neues Produkt wurde erstellt.
Produkt wurde gelöscht, kein Antwortinhalt.
Client sendet ungültiges JSON.

4. Fehlerantwort verbessern

Richtzeit: 12–15 Minuten

Die API liefert aktuell:

{ "error": "Bad Request" }
  1. Entwirf eine bessere Fehlerantwort für ein fehlendes Feld price.
  2. Die Antwort soll maschinenlesbar und menschenverständlich sein.
  3. Ergänze mindestens ein Feld, das einem Frontend bei der Anzeige helfen würde.
Hinweis: Gute Fehlerantworten sagen nicht nur, dass etwas falsch ist, sondern auch wo und warum.

5. Mini-Debugging

Richtzeit: 10–12 Minuten

Ein Produkt soll geändert werden. Der Client sendet:

POST /produkte/7
Content-Type: application/json

{ "price": "44,99" }
  1. Nenne mindestens drei mögliche Probleme an dieser Anfrage.
  2. Formuliere eine verbesserte Anfrage.
  3. Entscheide, ob hier eher PUT oder PATCH sinnvoll ist.
AbgabeRequest-Analyse, interpretierte Antwort, Statuscode-Tabelle, verbesserte Fehlerantwort und Debugging-Vorschlag.